<?php 
/**
 * Classe que representa o resumo da avaliação de uma tag HTML.
 * @author fabio.oshiro
 * @version 1.0
 */
class ArmazenaErroOuAviso {

	/**
	 * Guarda a regra utilizada
	 */
	private $regraWCAGEMAG;
	
	/**
	 * Guarda o c�digo da regra
	 */
	private $idTextoRegra;
	
	/**
	 * Guarda o n�mero da linha com o erro ou aviso 
	 */
	private $linha = 0;
	
	/**
	 * Guarda o n�mero da coluna com o erro ou aviso 
	 */
	private $coluna=0;
	
	/**
	 * true se estiver guardando um erro
	 */
	private $erro=false;
	
	/**
	 * true se estiver guardando um aviso
	 */
	private $aviso=false;

    /**
     * Nome da tag ou atributo procurado.
     */
    private $procurado;

    /**
     * String que representa a tag HTML avaliada.
     */
    private $tagCompleta;

    /**
     * Length da tag para n�o ter que guardar a string no xml
     */
    
    
    /**
     * Se para a sua avalia��o � exigida uma outra tag HTML.
     */
    private $tag;

    function __construct($codigoRegra, $isErro, $wcag_emag, $tagInteira){
    	if($isErro===true){
    		$this->erro = true;
    		$this->aviso = false;
    	}else{
    		$this->aviso = true;
    		$this->erro = false;
    	}
    	$this->setIdTextoRegra($codigoRegra);
    	$this->setWCAGEMAG($wcag_emag);
    	$this->setTagCompleta($tagInteira);
    }
     
    /**
     * @return Retorna o valor de tagCompleta.
     */
    public function getTagCompleta() {
        return $this->tagCompleta;
    }

    /**
     * @param tagFull Seta o valor de tagCompleta.
     */
    public function setTagCompleta($tagFull) {
        $this->tagCompleta = $tagFull;
    }
    
    /**
     * Informa que est� guardando um erro
     */
    public function setErro(){
    	$this->erro = true;
    	$this->aviso = false;
    }
    
    /**
     * Informa que est� guardando um aviso
     */
    public function setAviso(){
    	$this->erro = false;
    	$this->aviso = true;
    }
    
    /**
     * Retorna true se estiver guardando um aviso
     */
    public function isAviso(){
    	return $this->aviso;
    }
    
    /**
     * Retorna true se estiver guardando um erro
     */
    public function isErro(){
    	return $this->erro;
    }

	public function getLinha() {
		return $this->linha;
	}

	public function setLinha($linha) {
		$this->linha = $linha;
	}

	public function getColuna() {
		return $this->coluna;
	}

	public function setColuna($coluna) {
		$this->coluna = $coluna < 0 ? 1 : $coluna;
	}

	/**
	 * C�digo do identificador da regra
	 * Ex: 2.19 
	 */
	public function getIdTextoRegra() {
		return $this->idTextoRegra;
	}
	
	
	/**
	 * Atribui o c�digo da regra
	 * Ex: 2.19 
	 * setIdTextoRegra(2,19);
	 * @param codigo
	 */
	public function setIdTextoRegra($codigo) {
		$this->idTextoRegra = $codigo;
	}

	/**
	 * Retorna a regra utilizada
	 * @return InterfNucleos.EMAG ou InterfNucleos.WCAG
	 */
	public function getWCAGEMAG() {
		return $this->regraWCAGEMAG;
	}

	/**
	 * Guarda a regra utilizada
	 * InterfNucleos.EMAG ou InterfNucleos.WCAG
	 * @param emag_wcag
	 */
	public function setWCAGEMAG($emag_wcag) {
		$this->regraWCAGEMAG = $emag_wcag;
	}
    
}